All Packages Class Hierarchy This Package Previous Next Index
Class com.sun.java.swing.JTextField
java.lang.Object
|
+----java.awt.Component
|
+----java.awt.Container
|
+----com.sun.java.swing.JComponent
|
+----com.sun.java.swing.text.JTextComponent
|
+----com.sun.java.swing.JTextField
- public class JTextField
- extends JTextComponent
- implements SwingConstants
JTextField is a lightweight component that allows the editing
of a single line of text. It is intended to be source-compatible
with java.awt.TextField where it is reasonable to do so. This
component has capabilities not found in the java.awt.TextField
class. The superclass should be consulted for additional capabilities.
JTextField has a method to establish the string used as the
command string for the action event that gets fired. The
java.awt.TextField used the text of the field as the command
string for the ActionEvent. JTextField will use the command
string set with the setActionCommand
method if not null,
otherwise it will use the text of the field as a compatibility with
java.awt.TextField.
The method setEchoChar
and getEchoChar
are not provided directly to avoid a new implementation of a
pluggable look-and-feel inadvertantly exposing password characters.
To provide password-like services a seperate class JPasswordField
extends JTextField to provide this service with an independantly
pluggable look-and-feel.
The java.awt.TextField could be monitored for changes by adding
a TextListener for TextEvent's. In the JTextComponent based
components, changes are broadcasted from the model via a
DocumentEvent to DocumentListeners. The DocumentEvent gives
the location of the change and the kind of change if desired.
The code fragment might look something like:
DocumentListener myListener = ??;
JTextField myArea = ??;
myArea.getDocument().addDocumentListener(myListener);
The horizontal alignment of JTextField can be set to be left
justified, centered, or right justified if the required size
of the field text is smaller than the size allocated to it.
This is determined by the setHorizontalAlignment
and getHorizontalAlignment
methods. The default
is to be left justified.
For the keyboard keys used by this component in the standard Look and
Feel (L&F) renditions, see the
JTextField key assignments.
Customized fields can easily be created by extending the model and
changing the default model provided. For example, the following piece
of code will create a field that holds only upper case characters. It
will work even if text is pasted into from the clipboard or it is altered via
programmatic changes.
public class UpperCaseField extends JTextField {
public UpperCaseField(int cols) {
super(cols);
}
protected Document createDefaultModel() {
return new UpperCaseDocument();
}
static class UpperCaseDocument extends PlainDocument {
public void insertString(int offs, String str, AttributeSet a)
throws BadLocationException {
if (str == null) {
return;
}
char[] upper = str.toCharArray();
for (int i = 0; i < upper.length; i++) {
upper[i] = Character.toUpperCase(upper[i]);
}
super.insertString(offs, new String(upper), a);
}
}
}
Warning: serialized objects of this class will not be compatible with
future swing releases. The current serialization support is appropriate
for short term storage or RMI between Swing1.0 applications. It will
not be possible to load serialized Swing1.0 objects with future releases
of Swing. The JDK1.2 release of Swing will be the compatibility
baseline for the serialized form of Swing objects.
- See Also:
- setActionCommand, JPasswordField
-
notifyAction
- Name of the action to send notification that the
contents of the field have been accepted.
-
JTextField()
- Constructs a new TextField.
-
JTextField(Document, String, int)
- Constructs a new JTextField that uses the given text storage
model and the given number of columns.
-
JTextField(int)
- Constructs a new empty TextField with the specified number of columns.
-
JTextField(String)
- Constructs a new TextField initialized with the specified text.
-
JTextField(String, int)
- Constructs a new TextField initialized with the specified text
and columns.
-
addActionListener(ActionListener)
- Adds the specified action listener to receive
action events from this textfield.
-
createDefaultModel()
- Creates the default implementation of the model
to be used at construction if one isn't explicitly
given.
-
fireActionPerformed()
- Notifies all listeners that have registered interest for
notification on this event type.
-
getAccessibleContext()
- Get the AccessibleContext associated with this JTextField.
-
getActions()
- Fetches the command list for the editor.
-
getColumns()
- Returns the number of columns in this TextField.
-
getColumnWidth()
- Gets the column width.
-
getHorizontalAlignment()
- Returns the horizontal alignment of the text.
-
getHorizontalVisibility()
- Gets the visibility of the text field.
-
getMinimumSize()
- Returns the minimum size Dimensions needed for this
TextField.
-
getPreferredSize()
- Returns the preferred size Dimensions needed for this
TextField.
-
getScrollOffset()
- Gets the scroll offset.
-
getUIClassID()
- Gets the class ID for a UI.
-
isValidateRoot()
- Calls to revalidate that come from within the textfield itself will
be handled by validating the textfield.
-
paramString()
- Returns the String of parameters for this JTextField (columns + command
string).
-
postActionEvent()
-
Processes action events occurring on this textfield by
dispatching them to any registered ActionListener objects.
-
removeActionListener(ActionListener)
- Removes the specified action listener so that it no longer
receives action events from this textfield.
-
scrollRectToVisible(Rectangle)
- Scrolls the field left or right.
-
setActionCommand(String)
- Sets the command string used for action events.
-
setColumns(int)
- Sets the number of columns in this TextField, and then invalidate
the layout.
-
setFont(Font)
- Sets the current font.
-
setHorizontalAlignment(int)
- Sets the horizontal alignment of the text.
-
setScrollOffset(int)
- Sets the scroll offset.
notifyAction
public static final String notifyAction
- Name of the action to send notification that the
contents of the field have been accepted. Typically
this is bound to a carriage-return.
JTextField
public JTextField()
- Constructs a new TextField. A default model is created, the initial
string is null, and the number of columns is set to 0.
JTextField
public JTextField(String text)
- Constructs a new TextField initialized with the specified text.
A default model is created and the number of columns is 0.
- Parameters:
- text - the text to be displayed, or null
JTextField
public JTextField(int columns)
- Constructs a new empty TextField with the specified number of columns.
A default model is created and the initial string is set to null.
- Parameters:
- columns - the number of columns to use to calculate
the preferred width. If columns is set to zero, the
preferred width will be whatever naturally results from
the component implementation.
JTextField
public JTextField(String text,
int columns)
- Constructs a new TextField initialized with the specified text
and columns. A default model is created.
- Parameters:
- text - the text to be displayed, or null
- columns - the number of columns to use to calculate
the preferred width. If columns is set to zero, the
preferred width will be whatever naturally results from
the component implementation.
JTextField
public JTextField(Document doc,
String text,
int columns)
- Constructs a new JTextField that uses the given text storage
model and the given number of columns. This is the constructor
through which the other constructors feed. If the document is null,
a default model is created.
- Parameters:
- doc - the text storage to use. If this is null, a default
will be provided by calling the createDefaultModel method.
- text - the initial string to display, or null
- columns - the number of columns to use to calculate
the preferred width >= 0. If columns is set to zero, the
preferred width will be whatever naturally results from
the component implementation.
- Throws: IllegalArgumentException
- if columns < 0
getUIClassID
public String getUIClassID()
- Gets the class ID for a UI.
- Returns:
- the ID ("TextFieldUI")
- Overrides:
- getUIClassID in class JComponent
- See Also:
- getUIClassID, getUI
isValidateRoot
public boolean isValidateRoot()
- Calls to revalidate that come from within the textfield itself will
be handled by validating the textfield.
- Overrides:
- isValidateRoot in class JComponent
- See Also:
- revalidate, isValidateRoot
getHorizontalAlignment
public int getHorizontalAlignment()
- Returns the horizontal alignment of the text.
Valid keys: JTextField.LEFT (the default), JTextField.CENTER,
JTextField.RIGHT.
- Returns:
- the alignment
setHorizontalAlignment
public void setHorizontalAlignment(int alignment)
- Sets the horizontal alignment of the text.
Valid keys: JTextField.LEFT (the default), JTextField.CENTER,
JTextField.RIGHT. invalidate() and repaint() are called when the
alignment is set, and a PropertyChange event ("horizontalAlignment")
is fired.
- Parameters:
- alignment - the alignment
- Throws: IllegalArgumentException
- if the alignment
specified is not a valid key.
createDefaultModel
protected Document createDefaultModel()
- Creates the default implementation of the model
to be used at construction if one isn't explicitly
given. An instance of PlainDocument is returned.
- Returns:
- the default model implementation
getColumns
public int getColumns()
- Returns the number of columns in this TextField.
- Returns:
- the number of columns >= 0
setColumns
public void setColumns(int columns)
- Sets the number of columns in this TextField, and then invalidate
the layout.
- Parameters:
- columns - the number of columns >= 0
- Throws: IllegalArgumentException
- if columns is less than 0
getColumnWidth
protected int getColumnWidth()
- Gets the column width.
The meaning of what a column is can be considered a fairly weak
notion for some fonts. This method is used to define the width
of a column. By default this is defined to be the width of the
character m for the font used. This method can be
redefined to be some alternative amount
- Returns:
- the column width >= 1
getPreferredSize
public Dimension getPreferredSize()
- Returns the preferred size Dimensions needed for this
TextField. If a non-zero number of columns has been
set, the width is set to the columns multiplied by
the column width.
- Returns:
- the dimensions
- Overrides:
- getPreferredSize in class JComponent
getMinimumSize
public Dimension getMinimumSize()
- Returns the minimum size Dimensions needed for this
TextField. This defaults to the preferred size.
- Returns:
- the dimensions
- Overrides:
- getMinimumSize in class JComponent
setFont
public void setFont(Font f)
- Sets the current font. This removes cached row height and column
width so the new font will be reflected. revalidate() is called
after setting the font.
- Parameters:
- f - the new font
- Overrides:
- setFont in class Component
addActionListener
public synchronized void addActionListener(ActionListener l)
- Adds the specified action listener to receive
action events from this textfield.
- Parameters:
- l - the action listener
removeActionListener
public synchronized void removeActionListener(ActionListener l)
- Removes the specified action listener so that it no longer
receives action events from this textfield.
- Parameters:
- l - the action listener
fireActionPerformed
protected void fireActionPerformed()
- Notifies all listeners that have registered interest for
notification on this event type. The event instance
is lazily created using the parameters passed into
the fire method. The listener list is processed in last to
first order.
- See Also:
- EventListenerList
setActionCommand
public void setActionCommand(String command)
- Sets the command string used for action events.
- Parameters:
- command - the command string
getActions
public Action[] getActions()
- Fetches the command list for the editor. This is
the list of commands supported by the plugged-in UI
augmented by the collection of commands that the
editor itself supports. These are useful for binding
to events, such as in a keymap.
- Returns:
- the command list
- Overrides:
- getActions in class JTextComponent
postActionEvent
public void postActionEvent()
- Processes action events occurring on this textfield by
dispatching them to any registered ActionListener objects.
This is normally called by the controller registered with
textfield.
paramString
protected String paramString()
- Returns the String of parameters for this JTextField (columns + command
string).
- Returns:
- the string of parameters
- Overrides:
- paramString in class Container
getHorizontalVisibility
public BoundedRangeModel getHorizontalVisibility()
- Gets the visibility of the text field. This can
be adjusted to change the location of the visible
area if the size of the field is greater than
the area that was allocated to the field.
The fields look-and-feel implementation manages
the values of the minimum, maximum, and extent
properties on the BoundedRangeModel.
- Returns:
- the visibility
- See Also:
- BoundedRangeModel
getScrollOffset
public int getScrollOffset()
- Gets the scroll offset.
- Returns:
- the offset >= 0
setScrollOffset
public void setScrollOffset(int scrollOffset)
- Sets the scroll offset.
- Parameters:
- scrollOffset - the offset >= 0
scrollRectToVisible
public void scrollRectToVisible(Rectangle r)
- Scrolls the field left or right.
- Parameters:
- r - the region to scroll
- Overrides:
- scrollRectToVisible in class JComponent
getAccessibleContext
public AccessibleContext getAccessibleContext()
- Get the AccessibleContext associated with this JTextField.
Creates a new context if necessary.
- Returns:
- the AccessibleContext of this JTextField
- Overrides:
- getAccessibleContext in class JTextComponent
All Packages Class Hierarchy This Package Previous Next Index